There has been disclosed a technique for predicting images to be encoded in block units using image information in which encoding processing has been completed and encoding a predicted difference between each of the images and an original image, thereby reducing the amount of coded bits by removing redundancy of a moving picture. However, the result of a block search is required to be encoded as a motion vector in addition to the predicted difference, and overhead of the amount of coded bits occurs.
H.264/AVC (Non Patent Literature 1) has disclosed a prediction technique for each motion vector to reduce the amount of coded bits for the motion vector. That is, when a motion vector is encoded, a motion vector of a target block is predicted using each of encoded blocks located around the target block, and a difference (difference vector) between the predicted vector and the motion vector is variable-length encoded. The accuracy of prediction of each motion vector is however not sufficient. There is a problem that a large amount of coded bits is still necessary for motion vectors as to images complicated in motion particularly as in the case where plural moving objects exist.